paths:
- cargo/
- sccache/
- before_script:
- - curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache'
+# config with sccache based on Fedora Rawhide, i.e. very recent libostree
.fedora-ostree-devel:
image: fedora:rawhide
extends: .sccache
- dnf install -y cargo rust ostree-devel
- curl -L "${SCCACHE_URL}" | tar -C /usr/bin/ -xz --wildcards --strip-components=1 '*/sccache'
+# config with sccache based on Rust image, i.e. older libostree but shorter setup and rustup access
.rust-ostree-devel:
image: rust
extends: .sccache
gir-files/OSTree-1.0.gir:
echo Best to build libostree with all features and use that
exit 1
-
-
-# CI config generation
-ci-build-stages:
- @for tgt in `cargo read-manifest | jq -jr '.features | keys | map(select(. != "dox")) | map(. + " ") | .[]'`; do \
- echo "build_$$tgt:"; \
- echo " stage: build"; \
- echo " script: cargo test --verbose --workspace --features $$tgt"; \
- done
### Requirements
The `ostree` crate requires libostree and the libostree development headers.
-On Debian/Ubuntu, they can be installed with:
+On Debian and Ubuntu:
```ShellSession
$ sudo apt-get install libostree-1 libostree-dev
```
+On Fedora and CentOS:
+```ShellSession
+$ sudo dnf install ostree-libs ostree-devel
+```
+
### Installing
To use the crate, add it to your `Cargo.toml`:
```
The `OSTree-1.0.gir` file needs to be updated manually, either from a recent
-Debian package (`libostree-dev`) or by building from source.
+distribution package or by building from source.
### Documentation
The libostree API documentation is not included in the code by default because
### Updating ostree
* update the bundled `gir/OSTree-1.0.gir` file
* `make gir` to regenerate the generated code
-* in `.gitlab-ci.yml`, update the "all feature levels" section with the output of `make ci-build-stages`
+* update the example feature level in `README.md` in case of a new feature level
### Releases
Releases can be done using the publish_* jobs in the pipeline. There's no
-versioning helper yet so version bumps need to be done manually.
+versioning helper so version bumps need to be done manually.
The version needs to be changed in the following places (if applicable):
* in `sys/Cargo.toml` for the -sys crate version